/* eslint-disable eol-last */
/* eslint-disable indent */
'use strict';
module.exports = app => {
    // 引入数据类型
    const { STRING, INTEGER, TEXT } = app.Sequelize;
    // 建模
    const Blog = app.model.define('blog', {
        //  自动创建id，crestaAt，updateAt
        userId: {
            type: INTEGER,
            allowNull: false,
            comment: '外键 userid ->user.id',
        },
        content: {
            type: TEXT,
            allowNull: false,
            comment: '微博内容',

        },
        images: {
            type: STRING,
            allowNull: true,
            comment: '微博图片地址',
        },
    });
    // 创建外键
    Blog.associate = () => {
        // 用户与博客是1对多的关系
        app.model.Blog.belongsTo(app.model.User, {
            foreignKey: 'userId',
            targetKey: 'id',
        });
        // 和userRelation 表关联起来
        app.model.Blog.belongsTo(app.model.UserRelation, {
            foreignKey: 'userId', // 同一个字段不可以设置两个外键，这样写，只是在sequelize中做关联，并不是真的设置了两个外键
            targetKey: 'followerId',

        });

        app.model.Blog.hasMany(app.model.AtRelation, {
            foreignKey: 'blogId', // 同一个字段不可以设置两个外键，这样写，只是在sequelize中做关联，,

        });
    };
    return Blog;
};